/**
 * @author Silas Fontain, Søren Lorentzen, Daniel Nissen
 */

package ordination;

import static org.junit.Assert.*;
import java.util.GregorianCalendar;

import org.junit.Before;
import org.junit.Test;

public class DagligSkaevTest {
	private DagligSkaev ds;
	
	@Before
	public void setUp() throws Exception {
		//Oprettter en objekt Dagligskaev.
		Laegemiddel lm1 = new Laegemiddel("Pinex", 0.1,0.15,0.16, "Styk");
		ds = new DagligSkaev(new GregorianCalendar(1999, 12, 15), new GregorianCalendar(2000, 1, 15), lm1);
	}

	@Test
	public void testSamletDosis() {
		//Opretter nogle dosis, som bliver linket til ds
		ds.opretDosis("09:00", 3);
		ds.opretDosis("14:30", 2);
		ds.opretDosis("20:30", 5);
		//Tester samletDosis()
		assertEquals(320, ds.samletDosis(), 0.000000001);
	}
	
	@Test
	public void testSamletDosis2() {
		//Opretter dosis, som bliver linket til ds
		ds.opretDosis("10:00", 3);
		//Tester samletDosis()
		assertEquals(96, ds.samletDosis(), 0.000000001);
	}

	@Test
	public void testDoegnDosis() {
		//Opretter nogle dosis, som bliver linket til ds
		ds.opretDosis("09:00", 3);
		ds.opretDosis("14:30", 2);
		ds.opretDosis("20:30", 5);
		//Tester doegnDosis()
		assertEquals(10, ds.doegnDosis(), 0.00000001);
	}

	@Test
	public void testDoegnDosis2() {
		//Opretter dosis, som bliver linket til ds
		ds.opretDosis("10:00", 3);
		//Tester doegnDosis()
		assertEquals(3, ds.doegnDosis(), 0.00000001);
	}
	
	@Test
	public void testDagligSkaev() {
		//Opretter et nyt DagligSkaev
		Laegemiddel lm2 = new Laegemiddel("Fucidin", 0.025, 0.025, 0.025, "Styk");
		DagligSkaev ds2 = new DagligSkaev(new GregorianCalendar(2011, 1, 3), new GregorianCalendar(2011, 1, 18), lm2);
		//Tester om den linker laegemiddel
		assertSame(lm2, ds2.getLaegemiddel());
		//Tester om den giver det rigtige antalDage()
		assertEquals(16, ds2.antalDage(), 0.00001);
	}

}
